This post outlines the process of getting an AI internship. It provides helpful preparation information for coding and research type questions.
Tuesday, March 5, 2024To get promoted, you need to take charge of the process and strategically increase your impact. Start by aligning with your manager on your goals early in the cycle, then identify and work on areas for improvement. Seek out challenging projects aligned with the next level and take on a greater leadership role. Build trust with managers by demonstrating ownership and reliability and be a positive force on your team by helping others.
Choosing the right side projects can enhance your T-shaped skills and offer personal benefits. To maximize success, manage your ideas, focus on the "why" behind each project, structure for potential wins even if the primary goal isn't met, and avoid scope creep by setting boundaries like iterations or timeboxes.
As AI developer tooling gets better, developers should also focus on soft skills such as communication, problem solving, and adaptability to effectively collaborate with AI tools and create user-centered solutions. AI offers significant potential but ultimately complements the existing skillset of developers, allowing them to focus less on boilerplate and more on strategic development.
While feeling nervous when asked questions under pressure is normal, it can hinder your ability to respond with the best possible answer. To overcome this, adjust your mindset, embrace silence, and strategically clarify the question before answering. If the question is complex, provide a brief answer and offer a follow-up discussion. For complaints, focus on understanding the underlying concerns rather than getting defensive.
This article offers two stories, with advice, on how mentorship was key to a Meta engineer’s promotion to staff engineer. One story focuses on explicit mentorship, where they regularly checked in with someone to get advice. The other story focuses on implicit mentorship, where they worked with someone who had the skills they wanted to develop.
To progress in your career, focus on impactful projects that align with your skills and interests rather than settling for easy tasks. You should take control and proactively seek out high-impact projects that contribute to company goals and your own career development. These projects should challenge you and it’s easier to work on something challenging if it’s also work that is meaningful to you, aligns with your strengths, and has a significant impact on your company. When you find an area you excel in, invest time and energy to become an expert and the go-to in that area.
This developer describes their career journey, shifting from full-stack development to specializing in systems programming. They discovered a passion for the technical depth of systems programming through projects focused on network protocols, tooling, and performance optimization. As their focus changes, they wonder whether it's possible to be both a generalist and a specialist.
Managing up is about helping your manager help you, improving your work relationship and team success by understanding their needs, and aligning your efforts with their goals. This strategy includes effective communication, proactive sharing of goals and challenges, and offering solutions that can make the team better.
This interview tells the story of Pedro, who transitioned from a lorry driver to a Ruby on Rails developer at the age of 38. He was relentless in getting his first job after learning to program online through a bootcamp. Pedro encourages developers to always focus on learning, ask questions often, and find a mentor to help them grow faster.
Over a 12-year career at Google, Addy Osmani learned to put users first, collaborate well by actively sharing knowledge, and embrace lifelong learning. He encourages readers to just get started and iterate rather than trying to strive for perfection.
Saying no can help you prioritize your most important work and avoid overcommitting. Say yes to things that energize you and ask yourself if you would still be excited about the opportunity if it were happening tomorrow. If you're still unsure, defer the decision by asking the person to follow up later.
Akash Mukherjee shares his journey of achieving the highest rating (top 1% of Google engineers) twice at Google. Mukherjee took the time to build a strong foundation and focused on impactful projects to gain organizational visibility. When he transitioned to a leadership role, he learned to balance support and feedback, which allowed him to be more communicative and transparent with his team.
This author applied for a promotion to Senior Software Engineer at Google after being encouraged by her mentor. She presented a strong self-assessment to her manager, who initially planned to delay her promotion. She was promoted successfully thanks to her self-advocacy and support from her manager.
This senior engineer uses an Excel spreadsheet to prioritize tasks based on organizational goals, feedback, and time estimates. Over three months, this helped them achieve 90%+ of their daily goals while providing a clear record of accomplishments and reducing overplanning.
Networking offers opportunities for advice, mentorship, and job prospects. To cold contact someone, you should create thoughtful, respectful messages via email or LinkedIn. Also, try to utilize your alumni networks and/or personal connections if possible.
AI engineers don't need deep machine learning expertise. Instead, they should have practical experience in building complex systems (on the web or otherwise) and also have a genuine curiosity for working with LLMs. A good hiring process for AI engineers focuses on assessing candidates' technical skills in scalable system development, their proficiency in asynchronous programming and distributed systems, and their readiness to tackle challenges in integrating LLMs into applications.
This author switched teams to AI/ML Training Infra due to the fast growth and opportunities in the AI space. They were also motivated by curiosity about the technical challenges in AI compute efficiency and the opportunity to work with talented engineers.
Zach Wilson rapidly climbed the engineering ladder from Junior to Staff in five years through strategic job hopping from Meta to Netflix to Airbnb. He would build a strong internal brand by building trust and would communicate his impact well to get promoted quickly.
Promotions to Staff Engineer focus on sustained, measurable impact aligned with company goals, often demonstrated over at least six months. Leveraging people, writing, and high-quality code multiplies your influence, differentiating higher-level ICs from others. Building a strong internal brand through quality work, collaboration, and effective communication is necessary.
This post debunks common misconceptions about senior engineers, revealing that they are not coding superheroes but rather seasoned professionals with experience dealing with complexity. Seniority involves handling legacy systems, managing stakeholder expectations, and orchestrating teams, not just writing code. True seniority comes with continuous learning and adaptability.
This Redditor regrets becoming an Engineering Manager, finding the role soul-sucking, boring, and tedious. They miss the hands-on coding work they used to do and feel the management role is significantly different and more complex than being a lead. Commenters note that management is not a progression from engineering but rather a different job entirely.
Software engineers make some common mistakes when trying to get promoted. They sometimes fall for the “Promotion Donut” trap, where focusing solely on next-level responsibilities leads to neglecting current duties. While it's true “what got you here won't get you there,” you still have to do “what got you here” while also performing at the next level. Additionally, engineers need to make sure they have a supportive manager and fully understand their company's leveling system.
For new graduates, working at a big tech company for the first 1-3 years provides a solid foundation for career growth and skill development, offering better average outcomes compared to starting at a startup. However, startups give a chance for more “outlier” outcomes compared to Big Tech.
A Redditor asks if it's better to be a generalist or a specialist. The consensus is that it's best to be a “T-shaped” engineer, where you have general knowledge of a variety of subjects, but are specialized in a certain area. In general, developers should try to be as knowledgeable as possible while also trying to be the “expert” in certain areas on their team.
The choice between becoming a manager or staying as an individual contributor depends on your career goals and strengths. Managers focus on people management and team impact but have less control over their career growth, while ICs have more autonomy and career mobility.
In the tech industry, a significant debate exists regarding whether to diversify skills or to specialize deeply in one area. This discussion is illustrated through a scenario at a tech conference after-party, where one individual showcases a wide array of programming languages and skills, while another focuses intensely on a complex topic like quantum computing. This dichotomy represents two distinct approaches to career development in technology: being a generalist or a specialist. Generalists, often likened to Swiss Army knives, possess a broad range of skills and can adapt to various roles within a company. They excel in environments like startups, where flexibility and the ability to prototype quickly are crucial. Their strength lies in synthesizing knowledge from different domains, allowing them to connect the dots in ways that others may overlook. This adaptability often leads generalists to leadership positions, as they can navigate the complexities of a project and understand how different components interact. On the other hand, specialists are akin to deep-sea divers, delving into specific areas of expertise. They are the innovators pushing the boundaries of technology, making significant advancements in fields such as artificial intelligence or database management. In larger tech companies, specialists are invaluable for solving complex problems that require deep knowledge and insight. Their role is not just to know their subject matter but to be at the forefront of their field, anticipating future developments and sometimes guiding the direction of their industry. The impact of this divide extends beyond individual careers; it shapes the operational dynamics of entire companies. For instance, Apple tends to favor generalists who can integrate various aspects of product development, while Google often hires specialists to drive innovation in specific areas. Amazon strikes a balance, employing both generalists to manage its vast ecosystem and specialists to optimize critical systems. As the tech landscape evolves, a new category of professionals has emerged: the T-shaped individual. These individuals possess a broad base of knowledge across multiple areas while also having deep expertise in one or two specific domains. This combination allows them to navigate various discussions while still being able to focus on intricate details when necessary. Some companies are now seeking V-shaped employees, who have significant depth in two different areas, further emphasizing the value of specialized knowledge. Ultimately, the decision to become a generalist or a specialist depends on personal interests, strengths, and career aspirations. Generalists may find fulfillment in roles such as CTOs or product managers, where they can leverage their broad skill set. Specialists, however, embark on a journey of deep exploration in their chosen fields, tackling complex challenges and contributing to groundbreaking advancements. For those passionate about specific topics, such as quantum computing or ethical AI, specializing can be a rewarding path that allows them to make a significant impact in the tech world.
The discussion around whether to "follow your passion" in your career is complex and nuanced. It is not a straightforward question with a simple answer; rather, it involves weighing various factors and understanding the implications of such a choice. The underlying assumption in this debate is that individuals often have to choose between pursuing what they love and opting for more financially rewarding work. When financial gain is the primary goal, pursuing personal interests may not be feasible, as employers typically pay for skills that align with their needs rather than individual passions. However, there are exceptions where personal interests and market demands align, such as in the case of professional athletes or successful entrepreneurs who turn their hobbies into lucrative careers. The odds of success in such fields can be slim, but the potential rewards can be significant if one possesses the right skills and dedication. Interestingly, the landscape shifts when considering the pursuit of substantial wealth. For those aiming to achieve extraordinary financial success, working on what genuinely interests them can be advantageous. Many successful startups originated from founders engaging in projects they were passionate about, rather than solely seeking profit. This pattern suggests that the most innovative ideas often arise from personal interests, which may not be immediately recognized as profitable ventures. For individuals uncertain about their career direction, the dilemma often stems from a lack of self-awareness and knowledge about various fields. This uncertainty can be addressed by actively exploring different interests and gaining firsthand experience. Engaging in projects or activities related to one's interests can provide valuable insights into personal satisfaction, skill levels, and future opportunities. It is also important to consider the environment in which one will work. The character and motivations of colleagues can significantly influence one's own career satisfaction. Choosing a field based on financial incentives may lead to a work culture that feels uninspiring, while pursuing genuine interests can foster a more motivating and fulfilling atmosphere. In navigating uncertainty, it is wise to make choices that preserve future options. For instance, selecting a major that allows for flexibility in career paths can be beneficial. The concept of "staying upwind" suggests that some choices can lead to more opportunities down the line, making it easier to pivot if needed. Ultimately, if the goal is to produce exceptional work, pursuing one's interests becomes a clear necessity. While not everyone may aspire to achieve greatness in their field, those who do will find that their passion is a crucial element in the pursuit of excellence. The drive for great work is often rooted in a deep curiosity and enthusiasm that cannot be artificially created. In conclusion, the decision to follow one's passion is not universally applicable; it depends on individual goals, circumstances, and the interplay between personal interests and market demands. The journey to finding the right path involves exploration, self-discovery, and a willingness to adapt, all of which can lead to a more fulfilling and successful career.
Navigating an indirect career path to design can be a transformative journey, allowing individuals to weave together diverse experiences into a cohesive professional identity. The author reflects on their own journey, which began with a degree in English Literature and a serendipitous internship at McSweeney’s Publishing. Initially focused on writing, they soon discovered a passion for design, prompting a shift in their career trajectory. This transition involved taking on various design-related roles, pursuing further education in design, and ultimately co-owning a design studio before joining Adobe. The author emphasizes that while career shifts can lead to uncertainty and self-doubt, they also provide valuable opportunities for personal growth and the discovery of what brings joy in one’s work. The unique experiences accumulated along the way contribute to a distinctive design perspective. For those entering the design field from non-traditional backgrounds, the author reassures that these seemingly unrelated experiences can be the very threads that shape a successful career. To facilitate a career shift into design, the author offers practical advice. First, acquiring proficiency in design tools is essential, which can be achieved through classes and volunteering for design projects. Seeking feedback from others is crucial for improvement, as is practicing new skills regularly to build confidence and expertise. Embracing a well-rounded approach by taking on various roles, even if they seem unglamorous, can broaden one’s understanding of design. The author also highlights the importance of recognizing opportunities for growth. Reflecting on past experiences can help identify what to pursue next, whether it’s further education or specific design skills. Their own experience at Adobe, where they led a project that combined their publishing and design skills, illustrates how past roles can inform current work. The design industry thrives on diverse experiences, and the author encourages embracing new challenges, even when they feel intimidating. Running a design studio provided invaluable lessons in business and client relations, reinforcing the idea that every experience contributes to professional development. The author also addresses the common issue of imposter syndrome, urging individuals to recognize their unique perspectives as strengths rather than obstacles. Lifelong learning is a recurring theme, with the author advocating for the integration of personal experiences, hobbies, and education into one’s design practice. They share how their background in English literature has enriched their design work, from writing project proposals to crafting engaging presentations. Travel experiences also play a significant role, as the author draws inspiration from the design details encountered during their journeys. Ultimately, the author encourages designers to leverage their passions in their projects, illustrating this with their own thesis project that combined personal interests with design. The journey to becoming a designer is portrayed as a rich tapestry of experiences, where each thread adds depth and dimension to one’s creative perspective. Embracing an indirect path can lead to a more fulfilling and unique approach to design, reinforcing the idea that every experience contributes to the evolution of one’s career.
The journey of a designer is often depicted as a graph illustrating career progression, with time on the x-axis and career path on the y-axis. This graph, while simplified, captures the essence of growth and the challenges faced by designers at various stages of their careers. It highlights three distinct phases: The Good, The Good Enough, and The Great. In the initial phase, referred to as "The Good," designers experience a steady rise as they learn the fundamentals of design. This period is characterized by dedication and practice, where designers are encouraged to immerse themselves in their craft, often adhering to the 10,000-hour rule. During this time, they replicate successful designs, attend workshops, and connect with established designers. However, many aspiring designers struggle to progress beyond this stage, as the effort required to advance can be overwhelming. This phase is crucial for building a strong foundation, but it demands significant commitment and resilience. As designers move into "The Good Enough" phase, they begin to gain recognition for their work. Their skills have developed to a point where they can critique their designs effectively, and they often find themselves in a comfortable position within the industry. This phase is marked by stability in both earnings and work, but it can also lead to stagnation. Designers may become complacent, relying on established patterns and groupthink, which can hinder their growth. The lack of immediate incentives to improve can trap many in this cluster region, where creativity and innovation are stifled. The final phase, "The Great," is where true passion and curiosity reign. Designers who reach this stage are driven by an insatiable desire to explore and innovate, often challenging the status quo. This phase requires a willingness to embrace uncertainty and a commitment to continuous learning. Designers here are not motivated by financial gain but by the love of their craft. They engage in a relentless pursuit of excellence, often attending cutting-edge conferences and workshops to stay at the forefront of design. The climb in this phase is steeper than in previous stages, demanding a higher level of dedication and a willingness to take risks. Ultimately, the designer's journey is complex and non-linear. While the early stages may involve significant effort, the rewards can be substantial. However, many designers find themselves stuck in the cluster region, where conformity and a lack of innovation prevail. To break free and achieve true fulfillment, designers must cultivate a perpetual curiosity and a relentless pursuit of excellence. By embracing new technologies and challenging the norm, they can unlock their full potential and make a lasting impact in the world of design. The journey is not merely about reaching a destination but about the continuous exploration and growth that occurs along the way.